package com.test.demo;

import java.util.Scanner;

public class ArrayDemo2 {
    public static void main(String[] args) {
        //掌握数组的另一种定义方式，动态初始化数组
        inputScore();
    }

    //设计一个方法录入学生的成绩
    public static void inputScore() {
        //1.定义一个数组，存储5名学生的成绩

        //动态初始化数组，只定义数组的类型和存储数据的长度，不给数组赋值
        //数据类型[] 数组名 = new 数据类型[数组长度];
        //动态初始化数组元素的默认值：
        // 整型(byte、short、int、long)：0；
        // 浮点型(float、double)：0.0；
        // 字符型(char)：\u0000；
        // 布尔型(boolean)：false；
        // 引用数据类型(类、接口、数组)：null

        double[] scores = new double[5];
        //scores = {0.0, 0.0, 0.0, 0.0, 0.0};
        //           0     1     2     3     4
        //2.录入学生成绩,存入数组中
        Scanner stu = new Scanner(System.in);
        for (int i = 0; i < scores.length; i++) {
            System.out.println("请输入第" + (i + 1) + "名学生的成绩：");
            scores[i] = stu.nextDouble();
        }
        //3.遍历数组，统计总分，平均分,最高分，最低分，
        double sum = 0.0;
        double max = scores[0];
        double min = scores[0];
        for (int i = 0; i < scores.length; i++) {
            sum += scores[i];
        }
        System.out.println("总分：" + sum);
        System.out.println("平均分：" + sum / scores.length);
        for (int i = 0; i < scores.length; i++) {//用一个循环更加节省性能
            double score = scores[i];
            if(score > max) {
                max = score;
            }
            if(score < min) {
                min = score;
            }
        }
        System.out.println("最高分：" + max);
        System.out.println("最低分：" + min);
    }
}
